fix(serverless): add base_service tag for serverless#17238
fix(serverless): add base_service tag for serverless#17238gh-worker-dd-mergequeue-cf854d[bot] merged 7 commits intomainfrom
base_service tag for serverless#17238Conversation
Codeowners resolved as |
When DD_SERVICE is not set on Lambda, config.service was inferred as "runtime" from /var/runtime/ in sys.argv. This caused base_service to show "runtime" instead of a useful value. Add a Lambda-specific fallback using AWS_LAMBDA_FUNCTION_NAME, matching the existing pattern for GCP and Azure functions. Made-with: Cursor
Performance SLOsComparing candidate zarir/base_service_serverless (1fd7a04) with baseline main (a8cce63) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 102.728µs (SLO: <130.000µs 📉 -21.0%) vs baseline: -0.1% Memory: ✅ 43.847MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ add_inplace_aspectTime: ✅ 101.587µs (SLO: <130.000µs 📉 -21.9%) vs baseline: -1.6% Memory: ✅ 43.860MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ add_inplace_noaspectTime: ✅ 28.248µs (SLO: <40.000µs 📉 -29.4%) vs baseline: ~same Memory: ✅ 43.885MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% ✅ add_noaspectTime: ✅ 48.913µs (SLO: <70.000µs 📉 -30.1%) vs baseline: ~same Memory: ✅ 43.854MB (SLO: <46.000MB -4.7%) vs baseline: +5.2% ✅ bytearray_aspectTime: ✅ 259.230µs (SLO: <400.000µs 📉 -35.2%) vs baseline: ~same Memory: ✅ 43.813MB (SLO: <46.000MB -4.8%) vs baseline: +5.1% ✅ bytearray_extend_aspectTime: ✅ 655.889µs (SLO: <800.000µs 📉 -18.0%) vs baseline: +1.3% Memory: ✅ 43.822MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ bytearray_extend_noaspectTime: ✅ 275.189µs (SLO: <400.000µs 📉 -31.2%) vs baseline: +4.5% Memory: ✅ 43.835MB (SLO: <46.000MB -4.7%) vs baseline: +5.4% ✅ bytearray_noaspectTime: ✅ 144.025µs (SLO: <300.000µs 📉 -52.0%) vs baseline: +1.2% Memory: ✅ 43.945MB (SLO: <46.000MB -4.5%) vs baseline: +5.4% ✅ bytes_aspectTime: ✅ 222.564µs (SLO: <300.000µs 📉 -25.8%) vs baseline: -0.6% Memory: ✅ 43.888MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% ✅ bytes_noaspectTime: ✅ 134.447µs (SLO: <200.000µs 📉 -32.8%) vs baseline: -1.9% Memory: ✅ 43.940MB (SLO: <46.000MB -4.5%) vs baseline: +5.5% ✅ bytesio_aspectTime: ✅ 3.847ms (SLO: <5.000ms 📉 -23.1%) vs baseline: +0.5% Memory: ✅ 43.827MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ bytesio_noaspectTime: ✅ 317.799µs (SLO: <420.000µs 📉 -24.3%) vs baseline: -1.1% Memory: ✅ 43.862MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% ✅ capitalize_aspectTime: ✅ 88.033µs (SLO: <300.000µs 📉 -70.7%) vs baseline: -0.7% Memory: ✅ 43.875MB (SLO: <46.000MB -4.6%) vs baseline: +5.3% ✅ capitalize_noaspectTime: ✅ 265.043µs (SLO: <300.000µs 📉 -11.7%) vs baseline: +3.5% Memory: ✅ 43.986MB (SLO: <46.000MB -4.4%) vs baseline: +5.9% ✅ casefold_aspectTime: ✅ 87.935µs (SLO: <500.000µs 📉 -82.4%) vs baseline: ~same Memory: ✅ 43.924MB (SLO: <46.000MB -4.5%) vs baseline: +5.4% ✅ casefold_noaspectTime: ✅ 313.433µs (SLO: <500.000µs 📉 -37.3%) vs baseline: +0.6% Memory: ✅ 43.884MB (SLO: <46.000MB -4.6%) vs baseline: +5.4% ✅ decode_aspectTime: ✅ 87.393µs (SLO: <100.000µs 📉 -12.6%) vs baseline: +0.4% Memory: ✅ 43.847MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ decode_noaspectTime: ✅ 155.971µs (SLO: <210.000µs 📉 -25.7%) vs baseline: ~same Memory: ✅ 43.905MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ encode_aspectTime: ✅ 84.783µs (SLO: <200.000µs 📉 -57.6%) vs baseline: +0.3% Memory: ✅ 43.829MB (SLO: <46.000MB -4.7%) vs baseline: +4.9% ✅ encode_noaspectTime: ✅ 144.337µs (SLO: <200.000µs 📉 -27.8%) vs baseline: +0.7% Memory: ✅ 43.923MB (SLO: <46.000MB -4.5%) vs baseline: +5.4% ✅ format_aspectTime: ✅ 14.627ms (SLO: <19.200ms 📉 -23.8%) vs baseline: +0.1% Memory: ✅ 43.928MB (SLO: <46.000MB -4.5%) vs baseline: +5.4% ✅ format_map_aspectTime: ✅ 16.389ms (SLO: <21.500ms 📉 -23.8%) vs baseline: -0.2% Memory: ✅ 43.889MB (SLO: <46.000MB -4.6%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 370.004µs (SLO: <500.000µs 📉 -26.0%) vs baseline: -2.6% Memory: ✅ 43.813MB (SLO: <46.000MB -4.8%) vs baseline: +5.1% ✅ format_noaspectTime: ✅ 317.008µs (SLO: <500.000µs 📉 -36.6%) vs baseline: -0.7% Memory: ✅ 43.902MB (SLO: <46.000MB -4.6%) vs baseline: +5.3% ✅ index_aspectTime: ✅ 140.763µs (SLO: <300.000µs 📉 -53.1%) vs baseline: 📈 +11.3% Memory: ✅ 43.862MB (SLO: <46.000MB -4.6%) vs baseline: +5.3% ✅ index_noaspectTime: ✅ 40.557µs (SLO: <300.000µs 📉 -86.5%) vs baseline: -0.1% Memory: ✅ 43.746MB (SLO: <46.000MB -4.9%) vs baseline: +5.1% ✅ join_aspectTime: ✅ 206.247µs (SLO: <300.000µs 📉 -31.3%) vs baseline: -5.7% Memory: ✅ 43.903MB (SLO: <46.000MB -4.6%) vs baseline: +5.6% ✅ join_noaspectTime: ✅ 140.852µs (SLO: <300.000µs 📉 -53.0%) vs baseline: -2.7% Memory: ✅ 43.886MB (SLO: <46.000MB -4.6%) vs baseline: +5.3% ✅ ljust_aspectTime: ✅ 495.107µs (SLO: <700.000µs 📉 -29.3%) vs baseline: -4.8% Memory: ✅ 43.909MB (SLO: <46.000MB -4.5%) vs baseline: +5.2% ✅ ljust_noaspectTime: ✅ 280.830µs (SLO: <300.000µs -6.4%) vs baseline: +3.6% Memory: ✅ 43.902MB (SLO: <46.000MB -4.6%) vs baseline: +5.2% ✅ lower_aspectTime: ✅ 307.998µs (SLO: <500.000µs 📉 -38.4%) vs baseline: -1.8% Memory: ✅ 43.944MB (SLO: <46.000MB -4.5%) vs baseline: +5.3% ✅ lower_noaspectTime: ✅ 245.330µs (SLO: <300.000µs 📉 -18.2%) vs baseline: +1.3% Memory: ✅ 43.846MB (SLO: <46.000MB -4.7%) vs baseline: +5.3% ✅ lstrip_aspectTime: ✅ 0.283ms (SLO: <3.000ms 📉 -90.6%) vs baseline: +1.4% Memory: ✅ 43.885MB (SLO: <46.000MB -4.6%) vs baseline: +5.6% ✅ lstrip_noaspectTime: ✅ 0.179ms (SLO: <3.000ms 📉 -94.0%) vs baseline: +0.6% Memory: ✅ 43.882MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ modulo_aspectTime: ✅ 14.261ms (SLO: <18.750ms 📉 -23.9%) vs baseline: ~same Memory: ✅ 43.905MB (SLO: <46.000MB -4.6%) vs baseline: +5.4% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 14.799ms (SLO: <19.350ms 📉 -23.5%) vs baseline: ~same Memory: ✅ 44.022MB (SLO: <46.000MB -4.3%) vs baseline: +5.2% ✅ modulo_aspect_for_bytesTime: ✅ 14.347ms (SLO: <18.900ms 📉 -24.1%) vs baseline: -0.4% Memory: ✅ 43.859MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 14.596ms (SLO: <19.150ms 📉 -23.8%) vs baseline: -0.1% Memory: ✅ 43.950MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ modulo_noaspectTime: ✅ 0.368ms (SLO: <3.000ms 📉 -87.7%) vs baseline: -1.4% Memory: ✅ 43.851MB (SLO: <46.000MB -4.7%) vs baseline: +5.7% ✅ replace_aspectTime: ✅ 18.391ms (SLO: <24.000ms 📉 -23.4%) vs baseline: +0.1% Memory: ✅ 43.933MB (SLO: <46.000MB -4.5%) vs baseline: +5.2% ✅ replace_noaspectTime: ✅ 285.204µs (SLO: <400.000µs 📉 -28.7%) vs baseline: -0.9% Memory: ✅ 43.902MB (SLO: <46.000MB -4.6%) vs baseline: +5.6% ✅ repr_aspectTime: ✅ 318.829µs (SLO: <420.000µs 📉 -24.1%) vs baseline: -1.9% Memory: ✅ 43.849MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ repr_noaspectTime: ✅ 46.582µs (SLO: <90.000µs 📉 -48.2%) vs baseline: -0.9% Memory: ✅ 43.854MB (SLO: <46.000MB -4.7%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 387.094µs (SLO: <500.000µs 📉 -22.6%) vs baseline: +0.2% Memory: ✅ 43.906MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ rstrip_noaspectTime: ✅ 188.045µs (SLO: <300.000µs 📉 -37.3%) vs baseline: +3.1% Memory: ✅ 43.748MB (SLO: <46.000MB -4.9%) vs baseline: +5.3% ✅ slice_aspectTime: ✅ 184.985µs (SLO: <300.000µs 📉 -38.3%) vs baseline: +0.5% Memory: ✅ 43.827MB (SLO: <46.000MB -4.7%) vs baseline: +5.0% ✅ slice_noaspectTime: ✅ 53.653µs (SLO: <90.000µs 📉 -40.4%) vs baseline: -1.1% Memory: ✅ 43.813MB (SLO: <46.000MB -4.8%) vs baseline: +5.0% ✅ stringio_aspectTime: ✅ 4.468ms (SLO: <5.000ms 📉 -10.6%) vs baseline: 📈 +14.9% Memory: ✅ 43.790MB (SLO: <46.000MB -4.8%) vs baseline: +4.9% ✅ stringio_noaspectTime: ✅ 351.513µs (SLO: <500.000µs 📉 -29.7%) vs baseline: -0.4% Memory: ✅ 43.922MB (SLO: <46.000MB -4.5%) vs baseline: +5.3% ✅ strip_aspectTime: ✅ 273.338µs (SLO: <350.000µs 📉 -21.9%) vs baseline: -0.5% Memory: ✅ 43.869MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ strip_noaspectTime: ✅ 179.779µs (SLO: <240.000µs 📉 -25.1%) vs baseline: +1.7% Memory: ✅ 43.748MB (SLO: <46.000MB -4.9%) vs baseline: +5.0% ✅ swapcase_aspectTime: ✅ 338.438µs (SLO: <500.000µs 📉 -32.3%) vs baseline: -2.9% Memory: ✅ 43.998MB (SLO: <46.000MB -4.4%) vs baseline: +5.6% ✅ swapcase_noaspectTime: ✅ 280.790µs (SLO: <400.000µs 📉 -29.8%) vs baseline: +1.4% Memory: ✅ 43.870MB (SLO: <46.000MB -4.6%) vs baseline: +5.1% ✅ title_aspectTime: ✅ 330.790µs (SLO: <500.000µs 📉 -33.8%) vs baseline: -1.1% Memory: ✅ 43.846MB (SLO: <46.000MB -4.7%) vs baseline: +5.2% ✅ title_noaspectTime: ✅ 263.898µs (SLO: <400.000µs 📉 -34.0%) vs baseline: -0.7% Memory: ✅ 43.827MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ translate_aspectTime: ✅ 513.411µs (SLO: <700.000µs 📉 -26.7%) vs baseline: +1.8% Memory: ✅ 43.860MB (SLO: <46.000MB -4.7%) vs baseline: +5.4% ✅ translate_noaspectTime: ✅ 431.642µs (SLO: <500.000µs 📉 -13.7%) vs baseline: +1.3% Memory: ✅ 43.925MB (SLO: <46.000MB -4.5%) vs baseline: +5.0% ✅ upper_aspectTime: ✅ 309.597µs (SLO: <500.000µs 📉 -38.1%) vs baseline: -0.2% Memory: ✅ 43.847MB (SLO: <46.000MB -4.7%) vs baseline: +5.1% ✅ upper_noaspectTime: ✅ 245.153µs (SLO: <400.000µs 📉 -38.7%) vs baseline: +2.4% Memory: ✅ 43.843MB (SLO: <46.000MB -4.7%) vs baseline: +5.5% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 531.291µs (SLO: <700.000µs 📉 -24.1%) vs baseline: 📈 +22.2% Memory: ✅ 43.876MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% ✅ ospathbasename_noaspectTime: ✅ 443.450µs (SLO: <700.000µs 📉 -36.6%) vs baseline: -0.8% Memory: ✅ 43.853MB (SLO: <46.000MB -4.7%) vs baseline: +5.7% ✅ ospathjoin_aspectTime: ✅ 639.611µs (SLO: <700.000µs -8.6%) vs baseline: +1.2% Memory: ✅ 43.818MB (SLO: <46.000MB -4.7%) vs baseline: +5.5% ✅ ospathjoin_noaspectTime: ✅ 652.314µs (SLO: <700.000µs -6.8%) vs baseline: +1.1% Memory: ✅ 43.821MB (SLO: <46.000MB -4.7%) vs baseline: +5.2% ✅ ospathnormcase_aspectTime: ✅ 364.935µs (SLO: <700.000µs 📉 -47.9%) vs baseline: +3.5% Memory: ✅ 43.953MB (SLO: <46.000MB -4.4%) vs baseline: +5.6% ✅ ospathnormcase_noaspectTime: ✅ 368.680µs (SLO: <700.000µs 📉 -47.3%) vs baseline: +2.5% Memory: ✅ 43.920MB (SLO: <46.000MB -4.5%) vs baseline: +5.5% ✅ ospathsplit_aspectTime: ✅ 503.918µs (SLO: <700.000µs 📉 -28.0%) vs baseline: +0.6% Memory: ✅ 43.799MB (SLO: <46.000MB -4.8%) vs baseline: +5.3% ✅ ospathsplit_noaspectTime: ✅ 507.182µs (SLO: <700.000µs 📉 -27.5%) vs baseline: -0.4% Memory: ✅ 43.920MB (SLO: <46.000MB -4.5%) vs baseline: +5.5% ✅ ospathsplitdrive_aspectTime: ✅ 385.902µs (SLO: <700.000µs 📉 -44.9%) vs baseline: +0.7% Memory: ✅ 43.915MB (SLO: <46.000MB -4.5%) vs baseline: +5.5% ✅ ospathsplitdrive_noaspectTime: ✅ 72.833µs (SLO: <700.000µs 📉 -89.6%) vs baseline: -0.6% Memory: ✅ 43.960MB (SLO: <46.000MB -4.4%) vs baseline: +5.6% ✅ ospathsplitext_aspectTime: ✅ 480.908µs (SLO: <700.000µs 📉 -31.3%) vs baseline: +3.6% Memory: ✅ 43.843MB (SLO: <46.000MB -4.7%) vs baseline: +5.3% ✅ ospathsplitext_noaspectTime: ✅ 485.974µs (SLO: <700.000µs 📉 -30.6%) vs baseline: +2.1% Memory: ✅ 43.897MB (SLO: <46.000MB -4.6%) vs baseline: +5.5% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.669ms (SLO: <22.300ms 📉 -11.8%) vs baseline: ~same Memory: ✅ 69.363MB (SLO: <73.500MB -5.6%) vs baseline: +5.1% ✅ exception-replay-enabledTime: ✅ 1.366ms (SLO: <1.450ms -5.8%) vs baseline: +0.1% Memory: ✅ 67.751MB (SLO: <71.500MB -5.2%) vs baseline: +5.4% ✅ iastTime: ✅ 19.800ms (SLO: <22.250ms 📉 -11.0%) vs baseline: +0.3% Memory: ✅ 69.442MB (SLO: <75.000MB -7.4%) vs baseline: +5.1% ✅ profilerTime: ✅ 15.108ms (SLO: <16.550ms -8.7%) vs baseline: ~same Memory: ✅ 60.006MB (SLO: <61.000MB 🟡 -1.6%) vs baseline: +5.4% ✅ resource-renamingTime: ✅ 19.669ms (SLO: <21.750ms -9.6%) vs baseline: +0.3% Memory: ✅ 69.492MB (SLO: <73.500MB -5.5%) vs baseline: +5.4% ✅ span-code-originTime: ✅ 20.045ms (SLO: <28.200ms 📉 -28.9%) vs baseline: +0.8% Memory: ✅ 69.383MB (SLO: <75.000MB -7.5%) vs baseline: +5.1% ✅ tracerTime: ✅ 19.795ms (SLO: <21.750ms -9.0%) vs baseline: +0.9% Memory: ✅ 69.363MB (SLO: <75.000MB -7.5%) vs baseline: +5.2% ✅ tracer-and-profilerTime: ✅ 20.963ms (SLO: <23.500ms 📉 -10.8%) vs baseline: -0.2% Memory: ✅ 71.310MB (SLO: <75.000MB -4.9%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.734ms (SLO: <21.500ms -8.2%) vs baseline: -0.2% Memory: ✅ 69.393MB (SLO: <75.000MB -7.5%) vs baseline: +5.2% ✅ tracer-minimalTime: ✅ 16.708ms (SLO: <17.500ms -4.5%) vs baseline: +0.3% Memory: ✅ 69.363MB (SLO: <75.000MB -7.5%) vs baseline: +5.3% ✅ tracer-nativeTime: ✅ 19.697ms (SLO: <21.750ms -9.4%) vs baseline: +0.9% Memory: ✅ 69.442MB (SLO: <72.500MB -4.2%) vs baseline: +5.3% ✅ tracer-no-cachesTime: ✅ 17.498ms (SLO: <19.650ms 📉 -11.0%) vs baseline: ~same Memory: ✅ 69.422MB (SLO: <75.000MB -7.4%) vs baseline: +5.3% ✅ tracer-no-databasesTime: ✅ 19.250ms (SLO: <20.100ms -4.2%) vs baseline: -0.4% Memory: ✅ 69.412MB (SLO: <75.000MB -7.5%) vs baseline: +5.2% ✅ tracer-no-middlewareTime: ✅ 19.437ms (SLO: <21.500ms -9.6%) vs baseline: ~same Memory: ✅ 69.383MB (SLO: <75.000MB -7.5%) vs baseline: +5.2% ✅ tracer-no-templatesTime: ✅ 19.630ms (SLO: <22.000ms 📉 -10.8%) vs baseline: +0.9% Memory: ✅ 69.363MB (SLO: <73.500MB -5.6%) vs baseline: +5.0% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 40.452ms (SLO: <47.150ms 📉 -14.2%) vs baseline: -1.1% Memory: ✅ 41.237MB (SLO: <47.000MB 📉 -12.3%) vs baseline: +5.5% ✅ add-metricsTime: ✅ 235.165ms (SLO: <344.800ms 📉 -31.8%) vs baseline: +0.2% Memory: ✅ 45.756MB (SLO: <47.500MB -3.7%) vs baseline: +5.4% ✅ add-tagsTime: ✅ 279.519ms (SLO: <330.000ms 📉 -15.3%) vs baseline: +2.5% Memory: ✅ 45.662MB (SLO: <47.500MB -3.9%) vs baseline: +5.2% ✅ get-contextTime: ✅ 83.800ms (SLO: <92.350ms -9.3%) vs baseline: +0.2% Memory: ✅ 41.504MB (SLO: <46.500MB 📉 -10.7%) vs baseline: +5.3% ✅ is-recordingTime: ✅ 38.948ms (SLO: <44.500ms 📉 -12.5%) vs baseline: -0.7% Memory: ✅ 41.128MB (SLO: <47.500MB 📉 -13.4%) vs baseline: +5.4% ✅ record-exceptionTime: ✅ 60.968ms (SLO: <67.650ms -9.9%) vs baseline: ~same Memory: ✅ 41.769MB (SLO: <47.000MB 📉 -11.1%) vs baseline: +5.3% ✅ set-statusTime: ✅ 45.203ms (SLO: <50.400ms 📉 -10.3%) vs baseline: ~same Memory: ✅ 41.083MB (SLO: <47.000MB 📉 -12.6%) vs baseline: +5.5% ✅ startTime: ✅ 39.965ms (SLO: <44.500ms 📉 -10.2%) vs baseline: +3.4% Memory: ✅ 41.139MB (SLO: <47.000MB 📉 -12.5%) vs baseline: +5.6% ✅ start-finishTime: ✅ 89.878ms (SLO: <91.000ms 🟡 -1.2%) vs baseline: -0.2% Memory: ✅ 38.633MB (SLO: <46.500MB 📉 -16.9%) vs baseline: +5.1% ✅ start-finish-telemetryTime: ✅ 91.453ms (SLO: <92.000ms 🟡 -0.6%) vs baseline: -0.1% Memory: ✅ 38.692MB (SLO: <46.500MB 📉 -16.8%) vs baseline: +5.2% ✅ update-nameTime: ✅ 40.152ms (SLO: <45.150ms 📉 -11.1%) vs baseline: -0.7% Memory: ✅ 41.197MB (SLO: <47.000MB 📉 -12.3%) vs baseline: +5.7% 🟡 samplingrules - 8/8✅ average_matchTime: ✅ 169.139µs (SLO: <290.000µs 📉 -41.7%) vs baseline: ~same Memory: ✅ 36.137MB (SLO: <38.000MB -4.9%) vs baseline: +5.0% ✅ high_matchTime: ✅ 215.686µs (SLO: <480.000µs 📉 -55.1%) vs baseline: -0.3% Memory: ✅ 36.235MB (SLO: <38.000MB -4.6%) vs baseline: +5.2% ✅ low_matchTime: ✅ 119.840µs (SLO: <120.000µs 🟡 -0.1%) vs baseline: +0.4% Memory: ✅ 701.629MB (SLO: <780.000MB 📉 -10.0%) vs baseline: +4.9% ✅ very_low_matchTime: ✅ 3.120ms (SLO: <8.500ms 📉 -63.3%) vs baseline: +0.2% Memory: ✅ 78.763MB (SLO: <85.000MB -7.3%) vs baseline: +5.0% 🟡 span - 26/26✅ add-eventTime: ✅ 19.541ms (SLO: <22.500ms 📉 -13.2%) vs baseline: -1.7% Memory: ✅ 38.433MB (SLO: <53.000MB 📉 -27.5%) vs baseline: +5.7% ✅ add-metricsTime: ✅ 89.229ms (SLO: <93.500ms -4.6%) vs baseline: -1.0% Memory: ✅ 42.880MB (SLO: <53.000MB 📉 -19.1%) vs baseline: +5.2% ✅ add-tagsTime: ✅ 147.752ms (SLO: <155.000ms -4.7%) vs baseline: -0.2% Memory: ✅ 42.906MB (SLO: <53.000MB 📉 -19.0%) vs baseline: +5.5% ✅ get-contextTime: ✅ 18.794ms (SLO: <20.500ms -8.3%) vs baseline: -1.0% Memory: ✅ 38.348MB (SLO: <53.000MB 📉 -27.6%) vs baseline: +5.5% ✅ is-recordingTime: ✅ 18.875ms (SLO: <20.500ms -7.9%) vs baseline: -1.2% Memory: ✅ 38.326MB (SLO: <53.000MB 📉 -27.7%) vs baseline: +5.6% ✅ record-exceptionTime: ✅ 38.456ms (SLO: <41.000ms -6.2%) vs baseline: -0.4% Memory: ✅ 38.917MB (SLO: <53.000MB 📉 -26.6%) vs baseline: +5.9% ✅ set-statusTime: ✅ 20.660ms (SLO: <22.000ms -6.1%) vs baseline: -1.0% Memory: ✅ 38.367MB (SLO: <53.000MB 📉 -27.6%) vs baseline: +5.5% ✅ startTime: ✅ 19.740ms (SLO: <20.500ms -3.7%) vs baseline: +4.1% Memory: ✅ 38.328MB (SLO: <53.000MB 📉 -27.7%) vs baseline: +5.7% ✅ start-finishTime: ✅ 58.177ms (SLO: <58.500ms 🟡 -0.6%) vs baseline: -0.4% Memory: ✅ 36.196MB (SLO: <38.000MB -4.7%) vs baseline: +5.4% ✅ start-finish-telemetryTime: ✅ 59.109ms (SLO: <60.000ms 🟡 -1.5%) vs baseline: -0.9% Memory: ✅ 36.235MB (SLO: <38.000MB -4.6%) vs baseline: +5.4% ✅ start-finish-traceid128Time: ✅ 60.602ms (SLO: <62.000ms -2.3%) vs baseline: -0.5% Memory: ✅ 36.255MB (SLO: <38.000MB -4.6%) vs baseline: +5.5% ✅ start-traceid128Time: ✅ 18.664ms (SLO: <22.500ms 📉 -17.1%) vs baseline: -2.1% Memory: ✅ 38.284MB (SLO: <53.000MB 📉 -27.8%) vs baseline: +5.5% ✅ update-nameTime: ✅ 19.269ms (SLO: <22.000ms 📉 -12.4%) vs baseline: -1.7% Memory: ✅ 38.404MB (SLO: <53.000MB 📉 -27.5%) vs baseline: +5.2% 🟡 tracer - 6/6✅ largeTime: ✅ 33.154ms (SLO: <32.950ms +0.6%) vs baseline: -0.2% Memory: ✅ 37.788MB (SLO: <39.250MB -3.7%) vs baseline: +6.4% ✅ mediumTime: ✅ 3.341ms (SLO: <3.500ms -4.6%) vs baseline: +0.5% Memory: ✅ 36.235MB (SLO: <38.750MB -6.5%) vs baseline: +5.5% ✅ smallTime: ✅ 384.975µs (SLO: <390.000µs 🟡 -1.3%) vs baseline: +3.4% Memory: ✅ 36.156MB (SLO: <38.750MB -6.7%) vs baseline: +5.3%
|
This comment has been minimized.
This comment has been minimized.
|
This change is marked for backport to 4.6 and it does not conflict with that branch. |
## Overview Fixes `_dd.base_service` handling for AWS Lambda environments in the Python tracer, enabling service remapping rules to work on Lambda spans and ensuring trace stats contain a meaningful `base_service`. ### Changes **`ddtrace/internal/settings/_config.py`** — When `DD_SERVICE` is not configured and the tracer is running in AWS Lambda, `config.service` is now automatically set from `AWS_LAMBDA_FUNCTION_NAME`. This mirrors existing GCP (`K_SERVICE`) and Azure (`WEBSITE_SITE_NAME`) auto-detection behavior. **`ddtrace/internal/schema/processor.py`** — Removes the Lambda-specific early exit from `BaseServiceProcessor`. Previously, the processor skipped all Lambda spans to avoid unhelpful `base_service` values from the runtime. Now that the service is correctly resolved from the function name, the processor runs normally and `_dd.base_service` is properly attached to spans. ## Testing Existing serverless system tests pass (ALB, API Gateway HTTP/REST, Function URL). ## Risks Low. The change only affects Lambda environments where `DD_SERVICE` is not explicitly set. The resolved service name (`AWS_LAMBDA_FUNCTION_NAME`) matches what the extension already uses for extension-based languages, ensuring consistency across runtimes. Co-authored-by: zarir.hamza <zarir.hamza@datadoghq.com>
## Overview Fixes `_dd.base_service` handling for AWS Lambda environments in the Python tracer, enabling service remapping rules to work on Lambda spans and ensuring trace stats contain a meaningful `base_service`. ### Changes **`ddtrace/internal/settings/_config.py`** — When `DD_SERVICE` is not configured and the tracer is running in AWS Lambda, `config.service` is now automatically set from `AWS_LAMBDA_FUNCTION_NAME`. This mirrors existing GCP (`K_SERVICE`) and Azure (`WEBSITE_SITE_NAME`) auto-detection behavior. **`ddtrace/internal/schema/processor.py`** — Removes the Lambda-specific early exit from `BaseServiceProcessor`. Previously, the processor skipped all Lambda spans to avoid unhelpful `base_service` values from the runtime. Now that the service is correctly resolved from the function name, the processor runs normally and `_dd.base_service` is properly attached to spans. ## Testing Existing serverless system tests pass (ALB, API Gateway HTTP/REST, Function URL). ## Risks Low. The change only affects Lambda environments where `DD_SERVICE` is not explicitly set. The resolved service name (`AWS_LAMBDA_FUNCTION_NAME`) matches what the extension already uses for extension-based languages, ensuring consistency across runtimes. Co-authored-by: zarir.hamza <zarir.hamza@datadoghq.com>
|
This change is marked for backport to 4.7 and it does not conflict with that branch. |
… to 4.7] (#17441) Backport of #17238 to 4.7. (cherry picked from commit 93778cc) ## Description Fixes `_dd.base_service` handling for AWS Lambda environments in the Python tracer, enabling service remapping rules to work on Lambda spans and ensuring trace stats contain a meaningful `base_service`. ### Changes **`ddtrace/internal/settings/_config.py`** — When `DD_SERVICE` is not configured and the tracer is running in AWS Lambda, `config.service` is now automatically set from `AWS_LAMBDA_FUNCTION_NAME`. This mirrors existing GCP (`K_SERVICE`) and Azure (`WEBSITE_SITE_NAME`) auto-detection behavior. **`ddtrace/internal/schema/processor.py`** — Removes the Lambda-specific early exit from `BaseServiceProcessor`. Previously, the processor skipped all Lambda spans to avoid unhelpful `base_service` values from the runtime. Now that the service is correctly resolved from the function name, the processor runs normally and `_dd.base_service` is properly attached to spans. ## Testing Existing serverless system tests pass (ALB, API Gateway HTTP/REST, Function URL). Includes new unit tests for Lambda service name auto-detection and base_service processor behavior. ## Risks Low. The change only affects Lambda environments where `DD_SERVICE` is not explicitly set. The resolved service name (`AWS_LAMBDA_FUNCTION_NAME`) matches what the extension already uses for extension-based languages, ensuring consistency across runtimes. Co-authored-by: zarir.hamza <zarir.hamza@datadoghq.com>
Overview
Fixes
_dd.base_servicehandling for AWS Lambda environments in the Python tracer, enabling service remapping rules to work on Lambda spans and ensuring trace stats contain a meaningfulbase_service.Changes
ddtrace/internal/settings/_config.py— WhenDD_SERVICEis not configured and the tracer is running in AWS Lambda,config.serviceis now automatically set fromAWS_LAMBDA_FUNCTION_NAME. This mirrors existing GCP (K_SERVICE) and Azure (WEBSITE_SITE_NAME) auto-detection behavior.ddtrace/internal/schema/processor.py— Removes the Lambda-specific early exit fromBaseServiceProcessor. Previously, the processor skipped all Lambda spans to avoid unhelpfulbase_servicevalues from the runtime. Now that the service is correctly resolved from the function name, the processor runs normally and_dd.base_serviceis properly attached to spans.Testing
Existing serverless system tests pass (ALB, API Gateway HTTP/REST, Function URL).
Risks
Low. The change only affects Lambda environments where
DD_SERVICEis not explicitly set. The resolved service name (AWS_LAMBDA_FUNCTION_NAME) matches what the extension already uses for extension-based languages, ensuring consistency across runtimes.